Ext.ns("mdm.dispatch.cronWin");
mdm.dispatch.cronWin.main = function() {
var tabs;
var fieldSet;
	
return {
		init : function() {// 初始化方法
			this.initTabs();
			this.initFieldset();
			this.createWin();
			this.initfunction();
		},
		initTabs : function(){
			
		 tabs = new Ext.TabPanel({
		 	    autoTabs : true,
		 	    deferredRender:false,
		 	    layoutOnTabChange : true,
				width : 785,
				height : 240,
				frame : true,
				border : false,
				activeTab : 0,
				items : [{
							title : '分钟',
							layout : 'form',
							items : [new Ext.form.FormPanel({
										frame : true,
										border : false,
										width : 785,
										height : 260,
										// style : 'margin-bottom:10px;',
										layout : 'column',
										labelWidth : 30,
										items : [{
													columnWidth : .12,
													layout : 'form',
													items : [{
																xtype : 'radio',
																name : 'rMin',
																id : 'rMinId',
																inputValue : '*',
																boxLabel : '周期',
																checked : true,
																listeners : {
																check : function(t, c) {
																	if (c) {
																	var min = document.getElementsByName('minchk');
															        for (var iIndex = 0; iIndex < min.length ; iIndex++ )
															        {
															            min[iIndex].disabled=true;
															        }
																		
																	} else {
																	var min = document.getElementsByName('minchk');
															        for (var iIndex = 0; iIndex < min.length ; iIndex++ )
															        {
															            min[iIndex].disabled=false;
															        }	
																	}
																}
															}
															}]
												},{
													labelWidth : 10,
													columnWidth : .135,
													layout : 'form',
													items : [{
																fieldLabel : '从',
																xtype : 'numberfield',
																id : 'minStart',
																width : 80,
																value : 0,
																allowDecimals : false,
																allowNegative : false,
																minValue : 0,
																maxValue : 60 ,
																listeners : {
							                                    blur : function(obj) {
							                                    	if(obj.getValue()>60){
							                                    	obj.setValue(60);
							                                    	}
							                                    }
																}
																
															}]
												},{
													labelWidth : 71,
													columnWidth : .21,
													layout : 'form',
													items : [{
																fieldLabel : '分钟开始,每',
																xtype : 'numberfield',
																id : 'minEnd',
																width : 80,
																value : 1,
																allowDecimals : false,
																allowNegative : false,
																minValue : 1,
																maxValue : 60,
																listeners : {
							                                    blur : function(obj) {
							                                    	if(obj.getValue()>60){
							                                    	obj.setValue(60);
							                                    	}
							                                    	if(obj.getValue()==0){
							                                    	obj.setValue(1);
							                                    	}
							                                    }
																}
																							
																
															}]
												},{           
													          columnWidth : .445,
														      layout : 'form',
														      bodyStyle : 'padding: 7px 0px 0px 0px;',
															  items : [{
																			xtype : 'label',
																			text : '分钟执行一次'
																		} ]
																	},{
													columnWidth : 1,
													layout : 'form',
													items : [{
																xtype : 'radio',
																name : 'rMin',
																id : 'cMinId',
																inputValue : 'c',
																boxLabel : '指定'
															}]
												},{columnWidth : 1,
													layout : 'form',
													items : [{
						xtype : 'checkboxgroup',
						id : 'minGroup',
						width : 500,
						columns : 10,
				        listeners : {
				            'render' : function() {
				            var min = document.getElementsByName('minchk');
							for (var iIndex = 0; iIndex < min.length ; iIndex++ )
						    {
							 min[iIndex].disabled=true;
						     }
				            }
				        },
						items : [
							    {boxLabel : '1',name : 'minchk',inputValue : '1'
								},
								{boxLabel : '2',name : 'minchk',inputValue : '2'
								},
								{boxLabel : '3',name : 'minchk',inputValue : '3'
								},
								{boxLabel : '4',name : 'minchk',inputValue : '4'
								},
								{boxLabel : '5',name : 'minchk',inputValue : '5'
								},
								{boxLabel : '6',name : 'minchk',inputValue : '6'
								},
								{boxLabel : '7',name : 'minchk',inputValue : '7'
								},
								{boxLabel : '8',name : 'minchk',inputValue : '8'
								},
								{boxLabel : '9',name : 'minchk',inputValue : '9'
								},
								{boxLabel : '10',name : 'minchk',inputValue : '10'
								},
								{boxLabel : '11',name : 'minchk',inputValue : '11'
								},
								{boxLabel : '12',name : 'minchk',inputValue : '12'
								},
								{boxLabel : '13',name : 'minchk',inputValue : '13'
								},
								{boxLabel : '14',name : 'minchk',inputValue : '14'
								},
								{boxLabel : '15',name : 'minchk',inputValue : '15'
								},
								{boxLabel : '16',name : 'minchk',inputValue : '16'
								},
								{boxLabel : '17',name : 'minchk',inputValue : '17'
								},
								{boxLabel : '18',name : 'minchk',inputValue : '18'
								},
								{boxLabel : '19',name : 'minchk',inputValue : '19'
								},
								{boxLabel : '20',name : 'minchk',inputValue : '20'
								},
								{boxLabel : '21',name : 'minchk',inputValue : '21'
								},
								{boxLabel : '22',name : 'minchk',inputValue : '22'
								},
								{boxLabel : '23',name : 'minchk',inputValue : '23'
								},
								{boxLabel : '24',name : 'minchk',inputValue : '24'
								},
								{boxLabel : '25',name : 'minchk',inputValue : '25'
								},
								{boxLabel : '26',name : 'minchk',inputValue : '26'
								},
								{boxLabel : '27',name : 'minchk',inputValue : '27'
								},
								{boxLabel : '28',name : 'minchk',inputValue : '28'
								},
								{boxLabel : '29',name : 'minchk',inputValue : '29'
								},
								{boxLabel : '30',name : 'minchk',inputValue : '30'
								},
								{boxLabel : '31',name : 'minchk',inputValue : '31'
								},
								{boxLabel : '32',name : 'minchk',inputValue : '32'
								},
								{boxLabel : '33',name : 'minchk',inputValue : '33'
								},
								{boxLabel : '34',name : 'minchk',inputValue : '34'
								},
								{boxLabel : '35',name : 'minchk',inputValue : '35'
								},
								{boxLabel : '36',name : 'minchk',inputValue : '36'
								},
								{boxLabel : '37',name : 'minchk',inputValue : '37'
								},
								{boxLabel : '38',name : 'minchk',inputValue : '38'
								},
								{boxLabel : '39',name : 'minchk',inputValue : '39'
								},
								{boxLabel : '40',name : 'minchk',inputValue : '40'
								},
								{boxLabel : '41',name : 'minchk',inputValue : '41'
								},
								{boxLabel : '42',name : 'minchk',inputValue : '42'
								},
								{boxLabel : '43',name : 'minchk',inputValue : '43'
								},
								{boxLabel : '44',name : 'minchk',inputValue : '44'
								},
								{boxLabel : '45',name : 'minchk',inputValue : '45'
								},
								{boxLabel : '46',name : 'minchk',inputValue : '46'
								},
								{boxLabel : '47',name : 'minchk',inputValue : '47'
								},
								{boxLabel : '48',name : 'minchk',inputValue : '48'
								},
								{boxLabel : '49',name : 'minchk',inputValue : '49'
								},
								{boxLabel : '50',name : 'minchk',inputValue : '50'
								},
								{boxLabel : '51',name : 'minchk',inputValue : '51'
								},
								{boxLabel : '52',name : 'minchk',inputValue : '52'
								},
								{boxLabel : '53',name : 'minchk',inputValue : '53'
								},
								{boxLabel : '54',name : 'minchk',inputValue : '54'
								},
								{boxLabel : '55',name : 'minchk',inputValue : '55'
								},
								{boxLabel : '56',name : 'minchk',inputValue : '56'
								},
								{boxLabel : '57',name : 'minchk',inputValue : '57'
								},
								{boxLabel : '58',name : 'minchk',inputValue : '58'
								},
								{boxLabel : '59',name : 'minchk',inputValue : '59'
								},
								{boxLabel : '0',name : 'minchk',inputValue : '-1'
								}
								]
					}]}
					]
									})]
			    },{
			        
							title : '小时',
							layout : 'form',
							items : [new Ext.form.FormPanel({
										frame : true,
										border : false,
										width : 785,
										height : 260,
										// style : 'margin-bottom:10px;',
										layout : 'column',
										labelWidth : 30,
										items : [{
													columnWidth : 1,
													layout : 'form',
													items : [{
																xtype : 'radio',
																name : 'rHour',
																id : "hourId",
																inputValue : '*',
																boxLabel : '每小时',
																checked : true,
																listeners : {
																check : function(t, c) {
																	if (c) {
																	var hour = document.getElementsByName('hourchk');
															        for (var iIndex = 0; iIndex < hour.length ; iIndex++ )
															        {
															            hour[iIndex].disabled=true;
															        }
																		
																	} else {
																	var hour = document.getElementsByName('hourchk');
															        for (var iIndex = 0; iIndex < hour.length ; iIndex++ )
															        {
															            hour[iIndex].disabled=false;
															        }	
																	}
																}
															}
															}]
												},{
													columnWidth : 1,
													layout : 'form',
													items : [{
																xtype : 'radio',
																name : 'rHour',
																id : 'hourId2',
																inputValue : 'c',
																boxLabel : '指定'
															}]
												},{columnWidth : 1,
													layout : 'form',
													items : [{
						xtype : 'checkboxgroup',
						id : 'hourGroup',
						width : 600,
						columns : 12,
				        listeners : {
				            'render' : function() {
				            var hour = document.getElementsByName('hourchk');
							for (var iIndex = 0; iIndex < hour.length ; iIndex++ )
						    {
							 hour[iIndex].disabled=true;
						     }
				            }
				        },
						items : [
							    {boxLabel : '1',name : 'hourchk',inputValue : '1'
								},
								{boxLabel : '2',name : 'hourchk',inputValue : '2'
								},
								{boxLabel : '3',name : 'hourchk',inputValue : '3'
								},
								{boxLabel : '4',name : 'hourchk',inputValue : '4'
								},
								{boxLabel : '5',name : 'hourchk',inputValue : '5'
								},
								{boxLabel : '6',name : 'hourchk',inputValue : '6'
								},
								{boxLabel : '7',name : 'hourchk',inputValue : '7'
								},
								{boxLabel : '8',name : 'hourchk',inputValue : '8'
								},
								{boxLabel : '9',name : 'hourchk',inputValue : '9'
								},
								{boxLabel : '10',name : 'hourchk',inputValue : '10'
								},
								{boxLabel : '11',name : 'hourchk',inputValue : '11'
								},
								{boxLabel : '12',name : 'hourchk',inputValue : '12'
								},
								{boxLabel : '13',name : 'hourchk',inputValue : '13'
								},
								{boxLabel : '14',name : 'hourchk',inputValue : '14'
								},
								{boxLabel : '15',name : 'hourchk',inputValue : '15'
								},
								{boxLabel : '16',name : 'hourchk',inputValue : '16'
								},
								{boxLabel : '17',name : 'hourchk',inputValue : '17'
								},
								{boxLabel : '18',name : 'hourchk',inputValue : '18'
								},
								{boxLabel : '19',name : 'hourchk',inputValue : '19'
								},
								{boxLabel : '20',name : 'hourchk',inputValue : '20'
								},
								{boxLabel : '21',name : 'hourchk',inputValue : '21'
								},
								{boxLabel : '22',name : 'hourchk',inputValue : '22'
								},
								{boxLabel : '23',name : 'hourchk',inputValue : '23'
								},
								{boxLabel : '0',name : 'hourchk',inputValue : '-1'
								}
								]
					}]}
					]
									})]
			    
			    },{
			        
							title : '日',
							layout : 'form',
							items : [new Ext.form.FormPanel({
										frame : true,
										border : false,
										width : 785,
										height : 260,
										// style : 'margin-bottom:10px;',
										layout : 'column',
										labelWidth : 30,
										items : [{
													columnWidth : 1,
													layout : 'form',
													items : [{
																xtype : 'radio',
																name : 'rDay',
																id : "dayId",
																inputValue : '*',
																boxLabel : '每日',
																checked : true,
																listeners : {
																check : function(t, c) {
																	if (c) {
																	var day = document.getElementsByName('daychk');
															        for (var iIndex = 0; iIndex < day.length ; iIndex++ )
															        {
															            day[iIndex].disabled=true;
															        }
																		
																	} else {
																	var day = document.getElementsByName('daychk');
															        for (var iIndex = 0; iIndex < day.length ; iIndex++ )
															        {
															            day[iIndex].disabled=false;
															        }	
																	}
																}
															}
															}]
												},{
													columnWidth : 1,
													layout : 'form',
													items : [{
																xtype : 'radio',
																name : 'rDay',
																id : 'dayId2',
																inputValue : 'c',
																boxLabel : '指定'
															}]
												},{columnWidth : 1,
													layout : 'form',
													items : [{
						xtype : 'checkboxgroup',
						id : 'dayGroup',
						width : 500,
						columns : 10,
				        listeners : {
				            'render' : function() {
				            var day = document.getElementsByName('daychk');
							for (var iIndex = 0; iIndex < day.length ; iIndex++ )
						    {
							 day[iIndex].disabled=true;
						     }
				            }
				        },
						items : [
							    {boxLabel : '1',name : 'daychk',inputValue : '1'
								},
								{boxLabel : '2',name : 'daychk',inputValue : '2'
								},
								{boxLabel : '3',name : 'daychk',inputValue : '3'
								},
								{boxLabel : '4',name : 'daychk',inputValue : '4'
								},
								{boxLabel : '5',name : 'daychk',inputValue : '5'
								},
								{boxLabel : '6',name : 'daychk',inputValue : '6'
								},
								{boxLabel : '7',name : 'daychk',inputValue : '7'
								},
								{boxLabel : '8',name : 'daychk',inputValue : '8'
								},
								{boxLabel : '9',name : 'daychk',inputValue : '9'
								},
								{boxLabel : '10',name : 'daychk',inputValue : '10'
								},
								{boxLabel : '11',name : 'daychk',inputValue : '11'
								},
								{boxLabel : '12',name : 'daychk',inputValue : '12'
								},
								{boxLabel : '13',name : 'daychk',inputValue : '13'
								},
								{boxLabel : '14',name : 'daychk',inputValue : '14'
								},
								{boxLabel : '15',name : 'daychk',inputValue : '15'
								},
								{boxLabel : '16',name : 'daychk',inputValue : '16'
								},
								{boxLabel : '17',name : 'daychk',inputValue : '17'
								},
								{boxLabel : '18',name : 'daychk',inputValue : '18'
								},
								{boxLabel : '19',name : 'daychk',inputValue : '19'
								},
								{boxLabel : '20',name : 'daychk',inputValue : '20'
								},
								{boxLabel : '21',name : 'daychk',inputValue : '21'
								},
								{boxLabel : '22',name : 'daychk',inputValue : '22'
								},
								{boxLabel : '23',name : 'daychk',inputValue : '23'
								},
								{boxLabel : '24',name : 'daychk',inputValue : '24'
								},
								{boxLabel : '25',name : 'daychk',inputValue : '25'
								},
								{boxLabel : '26',name : 'daychk',inputValue : '26'
								},
								{boxLabel : '27',name : 'daychk',inputValue : '27'
								},
								{boxLabel : '28',name : 'daychk',inputValue : '28'
								},
								{boxLabel : '29',name : 'daychk',inputValue : '29'
								},
								{boxLabel : '30',name : 'daychk',inputValue : '30'
								},
								{boxLabel : '31',name : 'daychk',inputValue : '31'
								}
								]
					}]}
					]
									})]
			    
			    },{
			        
							title : '月',
							layout : 'form',
							items : [new Ext.form.FormPanel({
										frame : true,
										border : false,
										width : 785,
										height : 260,
										// style : 'margin-bottom:10px;',
										layout : 'column',
										labelWidth : 30,
										items : [{
													columnWidth : 1,
													layout : 'form',
													items : [{
																xtype : 'radio',
																name : 'rMon',
																id : "monId",
																inputValue : '*',
																boxLabel : '每月',
																checked : true,
																listeners : {
																check : function(t, c) {
																	if (c) {
																	var monch = document.getElementsByName('monchk');
															        for (var iIndex = 0; iIndex < monch.length ; iIndex++ )
															        {
															            monch[iIndex].disabled=true;
															        }
																		
																	} else {
																	var monch = document.getElementsByName('monchk');
															        for (var iIndex = 0; iIndex < monch.length ; iIndex++ )
															        {
															            monch[iIndex].disabled=false;
															        }	
																	}
																}
															}
															}]
												},{
													columnWidth : 1,
													layout : 'form',
													items : [{
																xtype : 'radio',
																name : 'rMon',
																id : 'monId2',
																inputValue : 'c',
																boxLabel : '指定'
															}]
												},{columnWidth : 1,
													layout : 'form',
													items : [{
						xtype : 'checkboxgroup',
						id : 'monchGroup',
						width : 500,
						columns : 10,
				        listeners : {
				            'render' : function() {
				            var monch = document.getElementsByName('monchk');
							for (var iIndex = 0; iIndex < monch.length ; iIndex++ )
						    {
							 monch[iIndex].disabled=true;
						     }
				            }
				        },
						items : [
							    {boxLabel : '1',name : 'monchk',inputValue : '1'
								},
								{boxLabel : '2',name : 'monchk',inputValue : '2'
								},
								{boxLabel : '3',name : 'monchk',inputValue : '3'
								},
								{boxLabel : '4',name : 'monchk',inputValue : '4'
								},
								{boxLabel : '5',name : 'monchk',inputValue : '5'
								},
								{boxLabel : '6',name : 'monchk',inputValue : '6'
								},
								{boxLabel : '7',name : 'monchk',inputValue : '7'
								},
								{boxLabel : '8',name : 'monchk',inputValue : '8'
								},
								{boxLabel : '9',name : 'monchk',inputValue : '9'
								},
								{boxLabel : '10',name : 'monchk',inputValue : '10'
								},
								{boxLabel : '11',name : 'monchk',inputValue : '11'
								},
								{boxLabel : '12',name : 'monchk',inputValue : '12'
								}
								]
					}]}
					]
									})]
			    
			    },{
			        
							title : '星期',
							layout : 'form',
							items : [new Ext.form.FormPanel({
										frame : true,
										border : false,
										width : 785,
										height : 260,
										// style : 'margin-bottom:10px;',
										layout : 'column',
										labelWidth : 30,
										items : [{
													columnWidth : 1,
													layout : 'form',
													items : [{
																xtype : 'radio',
																name : 'rWeek',
																id : "weekId",
																inputValue : '*',
																boxLabel : '每星期',
																checked : true,
																listeners : {
																check : function(t, c) {
																	if (c) {
																	var week = document.getElementsByName('weekchk');
															        for (var iIndex = 0; iIndex < week.length ; iIndex++ )
															        {
															            week[iIndex].disabled=true;
															        }
																		
																	} else {
																	var week = document.getElementsByName('weekchk');
															        for (var iIndex = 0; iIndex < week.length ; iIndex++ )
															        {
															            week[iIndex].disabled=false;
															        }	
																	}
																}
															}
															}]
												},{
													columnWidth : 1,
													layout : 'form',
													items : [{
																xtype : 'radio',
																name : 'rWeek',
																id : 'weekId2',
																inputValue : 'c',
																boxLabel : '指定'
															}]
												},{columnWidth : 1,
													layout : 'form',
													items : [{
						xtype : 'checkboxgroup',
						id : 'weekGroup',
						width : 500,
						columns : 7,
				        listeners : {
				            'render' : function() {
				            var week = document.getElementsByName('weekchk');
							for (var iIndex = 0; iIndex < week.length ; iIndex++ )
						    {
							 week[iIndex].disabled=true;
						     }
				            }
				        },
						items : [
							    {boxLabel : '星期日',name : 'weekchk',inputValue : '1'
								},
								{boxLabel : '星期一',name : 'weekchk',inputValue : '2'
								},
								{boxLabel : '星期二',name : 'weekchk',inputValue : '3'
								},
								{boxLabel : '星期三',name : 'weekchk',inputValue : '4'
								},
								{boxLabel : '星期四',name : 'weekchk',inputValue : '5'
								},
								{boxLabel : '星期五',name : 'weekchk',inputValue : '6'
								},
								{boxLabel : '星期六',name : 'weekchk',inputValue : '7'
								}
								]
					}]}
					]
									})]
			    
			    }]
			});
		},
		initFieldset : function(){
			 fieldSet = new Ext.form.FieldSet({
                title : '表达式',
                layout : 'column',
                width : 785,
				height : 135,
                border : true,
                frame : true,
                items : [{
                    columnWidth : 1,
                    layout : 'form',
                    border : false,
                    frame : true,
                    items : [
                             {layout : 'column',items :[{columnWidth : .105},
                             {layout : 'form',columnWidth : .125,border : false,
                             items :[{html : '秒'}]
		                     },
		                     {layout : 'form',columnWidth : .125,border : false, labelWidth : 70,
                             items :[{html : '分钟'}]
		                     },
		                     {layout : 'form',columnWidth : .125,border : false, labelWidth : 70,
                             items :[{html : '小时'}]
		                     },
		                     {layout : 'form',columnWidth : .125,border : false, labelWidth : 70,
                             items :[{html : '日'}]
		                     },
		                     {layout : 'form',columnWidth : .125,border : false, labelWidth : 70,
                             items :[{html : '月'}]
		                     },
		                     {layout : 'form',columnWidth : .27,border : false, labelWidth : 70,
                             items :[{html : '星期'}]
		                     },
                             {layout : 'form',columnWidth : .215,border : false, labelWidth : 70,
                             items :[{fieldLabel : '表达式字段',xtype : 'textfield',id : 'exSec',width : 80}]
		                     },{layout : 'form',columnWidth : 0.125,border : false,labelWidth : 1,
		                     items :[{xtype : 'textfield',id : 'exMin',width : 80}]}
		                     ,{layout : 'form',columnWidth : 0.125,border : false,labelWidth : 1,
		                     items :[{xtype : 'textfield',id : 'exHour',width : 80}]}
		                     ,{layout : 'form',columnWidth : 0.125,border : false,labelWidth : 1,
		                     items :[{xtype : 'textfield',id : 'exDay',width : 80}]}
		                     ,{layout : 'form',columnWidth : 0.125,border : false,labelWidth : 1,
		                     items :[{xtype : 'textfield',id : 'exMon',width : 80}]}
		                     ,{layout : 'form',columnWidth : 0.125,border : false,labelWidth : 1,
		                     items :[{xtype : 'textfield',id : 'exWeek',width : 80}]}
		                     ,{layout : 'form',columnWidth : 0.165,border : false,labelWidth : 1,
		                     items :[{xtype : 'button',id : 'btnGen',text:'生成cron表达式',width : 90}]},
                             {layout : 'form',columnWidth : .835,border : false, labelWidth : 70,
                             items :[{fieldLabel : 'Cron表达式',xtype : 'textfield',id : 'txtCron',width : 545}]
		                     },
		                     {layout : 'form',columnWidth : 0.165,border : false,labelWidth : 1,
		                     items :[{xtype : 'button',id : 'btnFan',text:'反解析到UI',width : 90}]}
		                     ]
                    }]
                }]
            });
			
		
		},
		createWin : function(){
		
		var	win = new Ext.Window({
				title : 'Be Cron - Cron表达式生成器',
				width : 800,
				height : 450,
                autoScroll : true,
				closable : true,
				border : false,
				resizable : false,
				frame : true,
				plain : true,
				modal : true,
				layout : 'form',
			    listeners : {
				            'show' : function() {
				           $("#txtCron").val($("#SCYCLE").val());
				         //  var txt = $("#txtCron").val();
				           var txt=  "0 0/5 * * * ?";
				           fan(txt);
				   }
				 },
				items : [tabs,fieldSet],
				buttonAlign : 'center',
				buttons : [{
					text : '确定',
					id : 'surebtn',
					iconCls : 'silk_page_save',
					handler : function(){
					var txtCron = 	$("#txtCron").val();
					var txtCronStr = txtCron.split(" ");
					if(txtCronStr[5]!="?"&&txtCronStr[3]!="*"&&txtCronStr[3]!="?"){
					Ext.Msg.alert('提示', "日和星期不能同时指定！");
					return false;
					}
					var flag=judgeCron($("#txtCron").val());
					if(flag){
					$("#SCYCLE").val($("#txtCron").val());
						win.close();
					}else{
					Ext.Msg.alert('提示', "Cron表达式有误,请修正！");
					}}
					},{
					text : '关闭',
					iconCls : 'silk_cancel',
					handler : function (){//modify by sqz 要关闭窗口或者要离开本页面，要给出提示，是否不保存而关闭
						Ext.MessageBox.confirm('提示信息', '是否确定关闭，关闭页面将不保存信息？',
						function(btn) {
							if (btn == 'yes') {
								win.close();
							}
						});
					}
				}]
			});
			win.show();
		},
		initfunction : function(){
			$("#btnGen").click(function(){
			$("#exSec").val(0);
			var mini = getMin();
			if(mini==""){
			Ext.Msg.alert('提示', "请勾选需要指定的分钟选项！");
			return;
			}
			$("#exMin").val(mini.replace(/-1/g,'0'));
			var hour = getHour();
			if(hour==""){
			Ext.Msg.alert('提示', "请勾选需要指定的小时选项！");
			return;
			}
			$("#exHour").val(hour.replace(/-1/g,'0'));
			var day = getDay1();
			if(day==""){
			Ext.Msg.alert('提示', "请勾选需要指定的日期选项！");
			return;
			}
			$("#exDay").val(day);
			var mon = getMon();
			if(mon==""){
			Ext.Msg.alert('提示', "请勾选需要指定的月份选项！");
			return;
			}
			$("#exMon").val(mon);
			var week = getWeek();
			if(week==""){
			Ext.Msg.alert('提示', "请勾选需要指定的星期选项！");
			return;
			}
			$("#exWeek").val(week);
			var str = "0 "+mini+" "+hour+" "+day+" "+mon+" "+week;
			str = str.replace(/-1/g,'0');
			str = str.split(" ");
			if(str[5]!="?"&&str[3]=="*"){
			str[3]="?";
			}
			str = str.join(" ");
			$("#txtCron").val(str);
			});
			
			$("input[id^='ex']").keyup(function(){
				changeByEx();									
			})
			
			$("#btnFan").click(function(){
				var txt = $("#txtCron").val();
				var txtCronStr = txt.split(" ");
				if(txtCronStr[5]!="?"&&txtCronStr[3]!="*"&&txtCronStr[3]!="?"){
				Ext.Msg.alert('提示', "日和星期不能同时指定！");
				return false;
				}
				var flag=judgeCron(txt);
				if(flag){
				fan(txt);
				}else{
				Ext.Msg.alert('提示', "Cron表达式有误,请修正！");
				}
			});
		
		}
		

};

function getMin(){
	var minR = 	$("input[name='rMin']:checked").val();
	if(minR == 'c'){
		var cks = $("input[name='minchk']:checked");
		if(cks.length==1){
			return 	cks[0].value;
		}else{
			var vs = "";
			for(var i=0;i<cks.length;i++){
				vs+=cks[i].value;
				if(i<cks.length-1){
					vs+=","	
				}
			}
			return vs;
		}
	}
		return $("#minStart").val()+"/"+$("#minEnd").val();
}

function getHour(){
	var HourR = 	$("input[name='rHour']:checked").val();
	if(HourR == 'c'){
		var cks = $("input[name='hourchk']:checked");
		if(cks.length==1){
			return 	cks[0].value;
		}else{
			var vs = "";
			for(var i=0;i<cks.length;i++){
				vs+=cks[i].value;
				if(i<cks.length-1){
					vs+=","	
				}
			}
			return vs;
		}
	}
	return "*";
}

function getWeek(){
	var WeekR = 	$("input[name='rWeek']:checked").val();
	if(WeekR == 'c'){
//		return $("input[name='weekchk']:checked").val();
		var cks = $("input[name='weekchk']:checked");
		if(cks.length==1){
			return 	cks[0].value;
		}else{
			var vs = "";
			for(var i=0;i<cks.length;i++){
				vs+=cks[i].value;
				if(i<cks.length-1){
					vs+=","	
				}
			}
			return vs;
		}
	}
	return "?";
}

function getDay1(){
	var DayR = 	$("input[name='rDay']:checked").val();
	if(DayR == 'c'){
//		return $("input[name='daychk']:checked").val();
		var cks = $("input[name='daychk']:checked");
		if(cks.length==1){
			return 	cks[0].value;
		}else{
			var vs = "";
			for(var i=0;i<cks.length;i++){
				vs+=cks[i].value;
				if(i<cks.length-1){
					vs+=","	
				}
			}
			return vs;
		}
	}
	return "*";
}

function getMon(){
	var MonR = 	$("input[name='rMon']:checked").val();
	if(MonR == 'c'){
//		return $("input[name='monchk']:checked").val();
		var cks = $("input[name='monchk']:checked");
		if(cks.length==1){
			return 	cks[0].value;
		}else{
			var vs = "";
			for(var i=0;i<cks.length;i++){
				vs+=cks[i].value;
				if(i<cks.length-1){
					vs+=","	
				}
			}
			return vs;
		}
	}
	return "*";
}

function fanMin(txt){
	$("#exMin").val(txt);
	if(txt.indexOf('/')!=-1){
		var ts = txt.split("/");
		$("#rMinId").attr("checked","checked");
		$("#minStart").val(ts[0]);
		$("#minEnd").val(ts[1]);
		var mincks = document.getElementsByName('minchk');
		for (var iIndex = 0; iIndex < mincks.length ; iIndex++ )
		 {
		 mincks[iIndex].disabled=true;
		 mincks[iIndex].checked=false;
		 }
	}else{
	/*	var mincks = $("input[name='minchk']");
		var mins = txt.split(",");
		for(var i=0;i<mins.length;i++){
			mincks[i+1].checked = "checked";
		}
		for(var i=0;i<mincks.length;i++){
			mincks[i].disabled = null;
		}*/
		$("#cMinId").attr("checked","checked");
		$("#cMinId").val("c");
		Ext.getCmp('cMinId').setValue("c");
		if(txt.indexOf('-')!=-1){
			var mincks = document.getElementsByName('minchk');
			var mins = txt.split("-");
			for (var iIndex = 0; iIndex < mincks.length ; iIndex++ )
			 {
					 mincks[iIndex].disabled=false;
					 mincks[iIndex].checked=false;
				 for(var i=mins[0];i<=mins[1];i++){
					if(mincks[iIndex].value ==i)
						mincks[iIndex].checked = true;
				 }
			 }
		}else{
			var mincks = document.getElementsByName('minchk');
			var mins = txt.split(",");
			for (var iIndex = 0; iIndex < mincks.length ; iIndex++ )
			 {
				 mincks[iIndex].disabled=false;
				 mincks[iIndex].checked=false;
				 for(var i=0;i<mins.length;i++){
				 	if(mincks[iIndex].value ==(mins[i]=="0"?"-1":mins[i]))
					mincks[iIndex].checked = true;
				}
			 }
			
		}
			
	}
}

function fanHour(txt){
	$("#exHour").val(txt);
	if(txt=="*"){
		$("#hourId").attr("checked","checked");
		var hourcks = document.getElementsByName('hourchk');
		for (var iIndex = 0; iIndex < hourcks.length ; iIndex++ )
		 {
		 hourcks[iIndex].disabled=true;
		 hourcks[iIndex].checked=false;
		 }
	}else{
		$("#hourId2").attr("checked","checked");
		/*$("input[name='hourchk']").each(function(){
				if($(this).val()==txt){
					$(this)	.attr("checked","checked");
				}	
				$(this).removeAttr("disabled");
		})*/
		Ext.getCmp('hourId2').setValue("c");
		 if(txt.indexOf('-')!=-1){
			var hourcks = document.getElementsByName('hourchk');
			var hours = txt.split("-");
			for (var iIndex = 0; iIndex < hourcks.length ; iIndex++ )
			 {
					 hourcks[iIndex].disabled=false;
					 hourcks[iIndex].checked=false;
				 for(var i=hours[0];i<=hours[1];i++){
					if(hourcks[iIndex].value ==i)
						hourcks[iIndex].checked = true;
				 }
				 }
			}else{
				var hourcks = document.getElementsByName('hourchk');
				var hours = txt.split(",");
				for (var iIndex = 0; iIndex < hourcks.length ; iIndex++ )
				 {
					 hourcks[iIndex].disabled=false;
					 hourcks[iIndex].checked=false;
					 for(var i=0;i<hours.length;i++){
					 	if(hourcks[iIndex].value ==(hours[i]=="0"?"-1":hours[i])){
						hourcks[iIndex].checked = true;
					 	}
					}
				 }
				
			}
	}
}

function fanObj(txt,idTxt,exSuf){
	$("#ex"+exSuf).val(txt);
	if(txt=="*"||txt=="?"){
		$("#"+idTxt+"Id").attr("checked","checked");
		var objcks = document.getElementsByName(idTxt+'chk');
			var objs = txt.split("-");
			for (var iIndex = 0; iIndex < objcks.length ; iIndex++ )
			 {
					 objcks[iIndex].disabled=true;
					 objcks[iIndex].checked=false;
				 }
				 
	}else{
		$("#"+idTxt+"Id2").attr("checked","checked");
//		$("input[name='"+idTxt+"chk']").each(function(){
//				if($(this).val()==txt){
//					$(this)	.attr("checked","checked");
//				}	
//				$(this).removeAttr("disabled");
//		})
		Ext.getCmp(idTxt+"Id2").setValue("c");
		   if(txt.indexOf('-')!=-1){
			var objcks = document.getElementsByName(idTxt+'chk');
			var objs = txt.split("-");
			for (var iIndex = 0; iIndex < objcks.length ; iIndex++ )
			 {
					 objcks[iIndex].disabled=false;
					 objcks[iIndex].checked=false;
				 for(var i=objs[0];i<=objs[1];i++){
					if(objcks[iIndex].value ==i)
						objcks[iIndex].checked = true;
				 }
				 }
			}else{
				var objcks = document.getElementsByName(idTxt+'chk');
				var objs = txt.split(",");
				for (var iIndex = 0; iIndex < objcks.length ; iIndex++ )
				 {
					 objcks[iIndex].disabled=false;
					 objcks[iIndex].checked=false;
					 for(var i=0;i<objs.length;i++){
					 	if(objcks[iIndex].value ==objs[i])
						objcks[iIndex].checked = true;
					}
				 }
				
			}
		
	}
}

function fan(txt){
	var regs = txt.split(' ');
	$("#exSec").val(regs[0]);
	fanMin(regs[1]);
	fanHour(regs[2]);
	fanObj(regs[3],"day","Day");
	fanObj(regs[4],"mon","Mon");
	fanObj(regs[5],"week","Week");
}

function changeByEx(){
	var html = "";
	html+=0+" "+$("#exMin").val()+" "+$("#exHour").val()+" "+$("#exDay").val()+" "+$("#exMon").val()+" "+$("#exWeek").val();
	$("#txtCron").val(html);
}
function judgeCron(expression){
  var flag = false;
  Ext.Ajax.request({  
                url : Ext.mdm.getWithCtx('/dispatch/judgeCron.do'),
                method: "GET",  
                async: false,   //ASYNC 是否异步( TRUE 异步 , FALSE 同步)  
                params: {                                  
                    expression : expression   
                },  
                success: function(response, opts) {  
                	var retJson = Ext.decode(response.responseText);
                	flag = retJson.success;
                }, //请求成功的回调函数   
                failure: function() {
                	flag = false;
                	Ext.Msg.alert('提示', "验证表达式出错！");
                	}  // 请求失败的回调函数  
            }); 
       return   flag;
}
}();